//package com.lh.common.utils;
//
//
//import org.springframework.http.HttpStatus;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * 返回数据
// *
// * @author Mark sunlightcs@gmail.com
// */
//public class R extends HashMap<String, Object> {
//    private static final long serialVersionUID = 1L;
//    public static final String INTERNAL_SERVER_ERROR_MSG = "未知异常，请联系管理员";
//
//
//    public R() {
//        super.put("code", 0);
//        super.put("msg", "success");
////        super.put("data", new HashMap<>());
//        super.put("data", null);
//    }
//
//    public static R error() {
//        return error(HttpStatus.INTERNAL_SERVER_ERROR.value(), INTERNAL_SERVER_ERROR_MSG);
//    }
//
//    public static R error(String msg) {
//        return error(500, msg);
//    }
//
//    public static R error(int code, String msg) {
//        R r = new R();
//        r.put("code", code);
//        r.put("msg", msg);
//        return r;
//    }
//
//    public static R ok(String msg) {
//        R r = new R();
//        r.put("msg", msg);
//        return r;
//    }
//
//    public static <T> R ok(Map<String, T> map) {
//        R r = new R();
//        r.putObject(map);
//        return r;
//    }
//
//
//    public static <T> R ok(List<T> list) {
//        R r = new R();
//        r.putObject(list);
//        return r;
//    }
//
//    public static R ok() {
//        return new R();
//    }
//
//    /**
//     * 　* @description: 返回对象都放在data中
//     */
//    public R putObject(Object value) {
//        super.put("data", value);
//        return this;
//    }
//
//    /**
//     * 　* @description: 除code和msg外都放在data中
//     */
//    public R put(String key, Object value) {
//        if ("code".equals(key) || "msg".equals(key)) {
//            super.put(key, value);
//        } else {
//            if (super.get("data") == null) {
//                super.put("data", new HashMap<>());
//            }
//            Map<String, Object> data = (Map<String, Object>) super.get("data");
//            data.put(key, value);
//            super.put("data", data);
//        }
//        return this;
//    }
//}
//
